package com.xdcplus.web.service.wip;

import com.xdcplus.mp.service.BaseService;
import com.xdcplus.pager.vo.PageVO;
import com.xdcplus.web.common.pojo.entity.WipMarkingIvSummary;
import com.xdcplus.web.common.pojo.dto.WipMarkingIvSummaryDTO;
import com.xdcplus.web.common.pojo.dto.WipMarkingIvSummaryFilterDTO;
import com.xdcplus.web.common.pojo.vo.WipMarkingElSummaryVO;
import com.xdcplus.web.common.pojo.vo.WipMarkingIvSummaryVO;

import java.util.List;


/**
 * (WipMarkingIvSummary)表服务接口层
 *
 * @author bullion.yan
 * @since 2024-11-28 18:34:28
 */
public interface WipMarkingIvSummaryService extends BaseService<WipMarkingIvSummary, WipMarkingIvSummary, WipMarkingIvSummaryVO> {

    /**
     * 添加(WipMarkingIvSummary)
     *
     * @param wipMarkingIvSummaryDTO (WipMarkingIvSummaryDTO)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveWipMarkingIvSummary(WipMarkingIvSummaryDTO wipMarkingIvSummaryDTO);

    /**
     * 修改(WipMarkingIvSummary)
     *
     * @param wipMarkingIvSummaryDTO (WipMarkingIvSummaryDTO)
     * @return {@link Boolean} 是否成功
     */
    Boolean updateWipMarkingIvSummary(WipMarkingIvSummaryDTO wipMarkingIvSummaryDTO);

    /**
     * 批量保存或更新(WipMarkingIvSummary)
     *
     * @param wipMarkingIvSummaryList (WipMarkingIvSummaryList)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveOrUpdateBatch(List<WipMarkingIvSummary> wipMarkingIvSummaryList);

    /**
     * 批量保存或更新(WipMarkingIvSummaryDTOList)
     *
     * @param wipMarkingIvSummaryDTOList (WipMarkingIvSummaryDTOList)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveOrUpdateBatchByDTOList(List<WipMarkingIvSummaryDTO> wipMarkingIvSummaryDTOList);

    /**
     * 删除(WipMarkingIvSummary)
     *
     * @param id (WipMarkingIvSummary)主键
     * @return {@link Boolean} 是否成功
     */
    Boolean deleteWipMarkingIvSummaryLogical(Long id);
    
    Boolean deleteWipMarkingIvSummaryByIds(String ids);

    /**
     * 查询(WipMarkingIvSummary)
     *
     * @param wipMarkingIvSummaryFilterDTO 过程状态过滤DTO
     * @return {@link PageVO<WipMarkingIvSummaryVO>} 状态信息
     */
    List<WipMarkingIvSummaryVO> queryWipMarkingIvSummaryVOList(WipMarkingIvSummaryFilterDTO wipMarkingIvSummaryFilterDTO);

    /**
     * 查询(WipMarkingIvSummary)
     *
     * @param wipMarkingIvSummaryFilterDTO 过程状态过滤DTO
     * @return {@link PageVO<WipMarkingIvSummaryVO>} 状态信息
     */
    PageVO<WipMarkingIvSummaryVO> queryWipMarkingIvSummary(WipMarkingIvSummaryFilterDTO wipMarkingIvSummaryFilterDTO);

    /**
     * 查询一个
     *
     * @param id (WipMarkingIvSummary)主键
     * @return {@link WipMarkingIvSummaryVO} (WipMarkingIvSummary)信息
     */
    WipMarkingIvSummaryVO queryWipMarkingIvSummaryById(Long id);

    /**
     * 根据标签ID查询
     * @param markingId
     * @return
     */
    List<WipMarkingIvSummaryVO> queryByMarkingId(Long markingId);
}
